1369B - AccurateLee - CodeForces Solution


greedy implementation strings *1200

Please click on ads to support us..

Python Code:

t = int(input())
while t:
    n = int(input())
    s = input()
    if s.count("10"):
        lef,rig,sw = 1,1,1
        for i in range(n):
            if s[i] == '1':
                lef = i
                break
        for i in range(n-1,0,-1):
            if s[i]=='0':
                rig=i
                break
        st=s[:lef] + '0' + s[rig+1:]
        print(st)
    else:
        print(s)
    t -= 1

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ll long long 
ll const inf = 1e17+1;
ll const M = 1e5+10;
ll const N = 100001;
const int mod = 1e9+7;
ll dx[8]={1,0,-1,0,1,-1,-1,1};
ll dy[8]={0,1,0,-1,1,-1,1,-1};

ll gcd(ll a, ll b)
{
    return b==0 ? a : gcd(b,a%b);
}

ll lcm(ll a, ll b) {
    return (a*b/gcd(a,b));
}   

void solve(int te) {
    // cout << "Case #" << te << ": ";
    ll n; cin>>n;

    string s; cin>>s;
    
    string ans;

    ll sw = 1;
    for(ll i=1;i<n;i++) {
        if(s[i] < s[i-1])sw = 0;
    }

    if(sw) {
        cout<<s<<endl;
        return;
    }

    for(ll i=0;i<n;i++) {
        if(s[i]=='1')break;
        ans.push_back(s[i]);
    }
    ans.push_back('0');

    for(ll i=s.size()-1;i>=0;i--) {
        if(s[i]=='0')break;
        ans.push_back(s[i]);
    }
    
    cout<<ans<<endl;
}

int main()
{
    ios_base::sync_with_stdio(false), cin.tie(nullptr);
    // #ifndef ONLINE_JUDGE
    // freopen("input.txt","r",stdin);
    // freopen("output.txt","w",stdout);
    // #endif
    int T;
    cin >> T;
    for(int t = 1; t <= T; t++)solve(t); 
    // solve(1);
}





Comments

Submit
0 Comments
More Questions

620A - Professor GukiZ's Robot
1342A - Road To Zero
1520A - Do Not Be Distracted
352A - Jeff and Digits
1327A - Sum of Odd Integers
1276A - As Simple as One and Two
812C - Sagheer and Nubian Market
272A - Dima and Friends
1352C - K-th Not Divisible by n
545C - Woodcutters
1528B - Kavi on Pairing Duty
339B - Xenia and Ringroad
189A - Cut Ribbon
1182A - Filling Shapes
82A - Double Cola
45A - Codecraft III
1242A - Tile Painting
1663E - Are You Safe
1663D - Is it rated - 3
1311A - Add Odd or Subtract Even
977F - Consecutive Subsequence
939A - Love Triangle
755A - PolandBall and Hypothesis
760B - Frodo and pillows
1006A - Adjacent Replacements
1195C - Basketball Exercise
1206A - Choose Two Numbers
1438B - Valerii Against Everyone
822A - I'm bored with life
9A - Die Roll